﻿// -----------------------------------------------------------------------
// <copyright file="AcaoFormModel.cs" company="Storytelling">
// TODO: Update copyright text.
// </copyright>
// -----------------------------------------------------------------------
namespace Storytelling.Modelos
{
    using System.ComponentModel.DataAnnotations;
    using Storytelling.Entidades;

    public class AcaoFormModel : InativoFormModel<Acao>
    {
        [Required]
        [Display(Name = "Descrição")]
        [StringLength(1000, MinimumLength = 5)]
        public virtual string Descricao
        {
            get { return Entidade.Descricao; }
            set { Entidade.Descricao = value; }
        }

        [Display(Name = "Atributo")]
        public virtual int Atributo
        {
            get { return Entidade.Atributo.HasValue ? (int)Entidade.Atributo.Value : 0; }
            set { Entidade.Atributo = (Campo?)value; }
        }

        [Display(Name = "Atributo / Habilidade")]
        public virtual int Campo
        {
            get { return Entidade.Campo.HasValue ? (int)Entidade.Campo.Value : 0; }
            set { Entidade.Campo = (Campo?)value; }
        }

        public virtual bool SinalModificador
        {
            get { return Entidade.SinalModificador; }
            set { Entidade.SinalModificador = value; }
        }

        [Required]
        [Range(0, 9, ErrorMessage = "O Modificador deve ser de 0 a 9")]
        [Display(Name = "Modificador")]
        public virtual int Modificador
        {
            get { return Entidade.Modificador; }
            set { Entidade.Modificador = value; }
        }

        public virtual string Poder { get; set; }

        [Display(Name = "Poder")]
        public virtual long? PoderValor { get; set; }
    }
}
